package com.ktwlsoft.archivemanage.payload.unitMember;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 人员信息修改
 *
 * @author zhuhe on 2019/10/25 9:40
 * @version 1.0
 */
@Api(value = "人员信息修改",description = "人员信息修改")
@Getter
@Setter
public class UnitMemberModifyRequest {

    /**主键*/
    @ApiModelProperty("主键")
    @NotNull(message = "id不能为空")
    private Long id;

    /**立档单位Id**/
    @ApiModelProperty("立档单位Id")
    @NotNull(message = "立档单位id不能为空")
    private Long unitId;

    /**分管领导**/
    @ApiModelProperty("分管领导")
    @Size(max = 30, message = "分管领导参数超长")
    @NotNull(message = "分管领导不能为空")
    private String departLeader;

    /**分管领导id**/
    @ApiModelProperty("分管领导id")
    @NotNull(message = "分管领导id不能为空")
    private Long departLeaderId;

    /**领导电话**/
    @ApiModelProperty("领导电话")
    @Size(max = 30, message = "领导电话参数超长")
    private String leaderTele;

    /**档案员**/
    @ApiModelProperty("档案员")
    @Size(max = 30, message = "档案员参数超长")
    @NotNull(message = "档案员不能为空")
    private String recorder;

    /**档案员id**/
    @ApiModelProperty("档案员id")
    @NotNull(message = "档案员id不能为空")
    private Long recorderId;

    /**档案员电话**/
    @ApiModelProperty("档案员电话")
    @Size(max = 30, message = "档案员电话参数超长")
    @NotNull(message = "档案员电话不能为空")
    private String recorderTele;

    /**性别(1为男性，0为女性)**/
    @ApiModelProperty("性别(1为男性，0为女性)")
    private Boolean recorderSex;

    /**文化程度**/
    @ApiModelProperty("文化程度")
    @Size(max = 30, message = "文化程度参数超长")
    private String recorderEducate;

    /**在岗情况**/
    @ApiModelProperty("在岗情况")
    @Size(max = 30, message = "在岗情况参数超长")
    private String recorderWorkType;

    /**出生日期**/
    @ApiModelProperty("出生日期")
    private Date birthday;

    /**所学专业**/
    @ApiModelProperty("所学专业")
    @Size(max = 30, message = "所学专业参数超长")
    private String major;

    /**政治面貌**/
    @ApiModelProperty("政治面貌")
    @Size(max = 30, message = "政治面貌参数超长")
    private String politicsStatus;

    /**档案员身份证号**/
    @ApiModelProperty("档案员身份证号")
    @Size(max = 30, message = "档案员身份证号参数超长")
    private String recorderIdentityNum;

    /**从事档案时间**/
    @ApiModelProperty("从事档案时间")
    private Date workStart;

    /**是否参加过培训**/
    @ApiModelProperty("是否参加过培训")
    private Boolean trained;

    /**头像**/
    @ApiModelProperty("头像")
    @Size(max = 100, message = "头像参数超长")
    private String profile;

    /**头像文件**/
    @ApiModelProperty("头像文件")
    private MultipartFile profileFile;

    /**头像文件URL**/
    @ApiModelProperty("头像文件URL")
    private String profileFileUrl;
}